package org.xmeta;

/**
 * 动作监听器需要考虑生命周期的问题。一个动作监听器通常不能用于多线程里，比如计算动作执行时间的监听器，执行时间是针对一个动作的执行。
 *
 * ActionListenerProvider可以让你自行管理动作监听器的生命周期。常用的做法是每次创建一个新的动作监听器实例。
 */
public interface ActionListenerProvider {
    ActionListener createActionListener(ActionContext actionContext);
}
